package com.macro.mall.mapper;
import com.macro.mall.common.utils.Assist;
import com.macro.mall.model.UmsMemberLog;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 * UmsMemberLog的Dao接口
 * 
 * @author 
 *
 */
public interface UmsMemberLogMapper {

	/**
	 * 获得UmsMemberLog数据的总行数,可以通过辅助工具Assist进行条件查询,如果没有条件则传入null
	 * 
	 * @param assist
	 * @return
	 */
	long getUmsMemberLogRowCount(Assist assist);
	
	/**
	 * 获得UmsMemberLog数据集合,可以通过辅助工具Assist进行条件查询,如果没有条件则传入null
	 * 
	 * @param assist
	 * @return
	 */
	List<UmsMemberLog> selectUmsMemberLog(Assist assist);
	/**
	 * 通过UmsMemberLog的id获得UmsMemberLog对象
	 * 
	 * @param id
	 * @param userName
     * @return
	 */
	UmsMemberLog selectUmsMemberLogById(@Param("id") Long id, @Param("userName")String userName);
	
	/**
	 * 获得一个UmsMemberLog对象,以参数UmsMemberLog对象中不为空的属性作为条件进行查询,返回符合条件的第一条
	 * 
	 * @param obj
	 * @return
	 */
	UmsMemberLog selectUmsMemberLogObjSingle(UmsMemberLog obj);
	
	/**
	 * 获得一个UmsMemberLog对象,以参数UmsMemberLog对象中不为空的属性作为条件进行查询
	 * 
	 * @param obj
	 * @return
	 */
	List<UmsMemberLog> selectUmsMemberLogByObj(UmsMemberLog obj);

	/**
	 * 插入UmsMemberLog到数据库,包括null值
	 * 
	 * @param value
	 * @return
	 */
	int insertUmsMemberLog(UmsMemberLog value);
	
	/**
	 * 插入UmsMemberLog中属性值不为null的数据到数据库
	 * 
	 * @param value
	 * @return
	 */
	int insertNotNullUmsMemberLog(UmsMemberLog value);
	
	/**
	 * 批量插入UmsMemberLog到数据库,包括null值
	 * 
	 * @param value
	 * @return
	 */
	int insertUmsMemberLogByBatch(List<UmsMemberLog> value);
	/**
	 * 通过UmsMemberLog的id删除UmsMemberLog
	 * 
	 * @param id
	 * @return
	 */
	int deleteUmsMemberLogById(Long id);
	
	/**
	 * 通过辅助工具Assist的条件删除UmsMemberLog
	 * 
	 * @param assist
	 * @return
	 */
	int deleteUmsMemberLogByAssist(Assist assist);
	
	/**
	 * 通过UmsMemberLog的id更新UmsMemberLog中的数据,包括null值
	 * 
	 * @param enti
	 * @return
	 */
	int updateUmsMemberLogById(UmsMemberLog enti);
	
	/**
	 * 通过UmsMemberLog的id更新UmsMemberLog中属性不为null的数据
	 * 
	 * @param enti
	 * @return
	 */
	int updateNotNullUmsMemberLogById(UmsMemberLog enti);
	
	/**
	 * 通过辅助工具Assist的条件更新UmsMemberLog中的数据,包括null值
	 * 
	 * @param value
	 * @param assist
	 * @return
	 */
	int updateUmsMemberLog(@Param("enti") UmsMemberLog value, @Param("assist") Assist assist);
	
	/**
	 * 通过辅助工具Assist的条件更新UmsMemberLog中属性不为null的数据
	 * 
	 * @param value
	 * @param assist
	 * @return
	 */
	int updateNotNullUmsMemberLog(@Param("enti") UmsMemberLog value, @Param("assist") Assist assist);

	UmsMemberLog selectUmsMemberLogCompleteById(@Param("id") Long id);
}